public class Rational {
    int numerator = 1;
    int denominator = 1;
    void setNumerator(int a) {
        int c = f(Math.abs(a), denominator);
        numerator = a/c;
        denominator = denominator/c;
        if(numerator<0&&denominator<0) {
            numerator = -numerator;
            denominator = -denominator;
        }
    }
    void setDenominator(int b) {
        int c=f(numerator,Math.abs(b));
        numerator = numerator/c;
        denominator= b/c;
        if(numerator<0&&denominator<0) {
            numerator = - numerator;
            denominator =-denominator;
        }
    }
    int getNumerator() {
        return numerator;
    }
    int getDenominator() {
        return denominator;
    }
    int f(int a, int b) {
        if(a==0) return 1;
        if(a<b){
            int c= a;
            a = b;
            b = c;
        }
        int r= a%b;
        while(r!=0) {
            a = b;
            b = r;
            r = a%b;
        }
        return b;
    }
    Rational add(Rational r) {
        int a = r.getNumerator();
        int b =r.getDenominator();
        int newNumerator = numerator*a;
        int newDenominator = denominator *b;
        Rational result = new Rational();
        result.setNumerator(newNumerator);
        result.setDenominator(newDenominator);
        return result;
    }
    Rational sub(Rational r) {
        int a = r.getNumerator();
        int b = r.getDenominator();
        int newNumerator = numerator *b-denominator * a;
        int newDenominator = denominator *b;
        Rational result= new Rational();
        result.setNumerator(newNumerator);
        result.setDenominator(newDenominator);
        return result;
    }
    Rational muti(Rational r) {
        int a = r.getNumerator();
        int b = r.getDenominator();
        int newNumerator = numerator * a;
        int newDenominator = denominator*b;
        Rational result = new Rational();
        result.setNumerator(newNumerator);
        result.setDenominator(newDenominator);
        return result;
    }
    Rational div(Rational r) {
        int a = r.getNumerator();
        int b = r.getDenominator();
        int newNumerator = numerator * b;
        int newDenominator = denominator * a;
        Rational result = new Rational();
        result.setNumerator(newNumerator);
        result.setDenominator(newDenominator);
        return result;
    }
}
